// easy

// 给定一个包含n + 1个整数的数组nums,里边包含的值都在1~n之间，假设nums中只存在一个重复的整数，要求找出这个重复的数

// 思路：使用哈希表存储数组中每个元素，遇到重复元素则直接返回该元素

function findRepeatNumber(nums) {
    let nums_dict = new Map()

    for (let i = 0; i < nums.length; i++) {
        if (nums_dict.has(nums[i])) {
            return nums[i]
        }
        nums_dict.set(nums[i], 1)
    }
    return -1
}

let arr = [1, 3, 2, 2, 4]
console.log(findRepeatNumber(arr))

function findRepeatNumber2(arr) {
    arr.sort((a, b) => a - b)
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] !== i + 1) {
            return arr[i]
        }
    }
}

let arr2 = [1, 3, 2, 2, 4]
console.log(findRepeatNumber2(arr2))